import Vue from 'vue'
import Vuex from 'vuex'
import app from './modules/app'
import user from './modules/user'
import getters from './getters'
import createPersistedstate from 'vuex-persistedstate'
Vue.use(Vuex)


const store = new Vuex.Store({
    modules: {
        app,
        user
    },
    getters,
    plugins: [
        createPersistedstate({
            key: 'app',
            paths: ['app', 'user'],
            storage: window.sessionStorage
        })
    ]
})

// 保存緩存

// // 在浏览器刷新前保存数据到 sessionStorage
// window.addEventListener('beforeunload', () => {
//     const stateJson = JSON.stringify(store.state)
//     sessionStorage.setItem('vuexState', stateJson)
// })

// // 在 Vue 实例初始化前，检查是否有之前保存的数据
// const storedStateJson = sessionStorage.getItem('vuexState')
// if (storedStateJson) {
//     const storedState = JSON.parse(storedStateJson)
//     store.replaceState(storedState)
// }

export default store
